<script>

    // var arr1 = new Array("abc");
    var arr1 = ["abc"]; //数组直接量
    // console.log(arr1);
    var obj1 = {};
    // console.log(typeof obj1);
    // console.log( arr1.constructor === Object);
    // console.log(arr1.__proto__ == Array.prototype);
    // console.log(obj1);

    function Person(name) {
        this.name = name;
    }

    Person.prototype.sayHello = function () {

    }

    Person.isPerson = function (obj) {
        return obj.constructor === Person;
    }

    var p1 = new Person('lisi');

    p1.sayHello(); //实例方法

    console.log(Person.isPerson(arr1)); //静态方法



    // console.log(p1);

    // p1.sayHello() -> p1.__proto__.sayHello();
    // p1.sayHello()

    // var a = [1,2,3];

    // console.log(a.concat([4,5]));

    // console.log(a);

    // var arr2 = [2,5,3,8,4,1,11];
    // arr2.sort(function(a, b){
    //     return Math.random() - 0.5;
    // });
    // console.log(arr2); 

    // var array1 = [1, 4, 9, 16];

    // // pass a function to map
    // var map1 = array1.map(function(x){
    //     return x * 2;
    // });

    // console.log(map1); // [2, 8, 18, 32]

    // console.log(    Array.isArray(  "abc"  )  ); //静态方法


    // 数组去重

    var arr3 = [1, 3, 5, 6, 3, 3];

    function unique(arr){
        for(var i=0; i<arr.length; i++){
            for(var j=i+1; j<arr.length; j++){
                if(arr[i] == arr[j]){
                    arr.splice(j, 1);
                    j--;
                }
            }
        }
        return arr; //返回去重后的数组
    }

    // console.log(  unique(arr3)   );  // => [1,3,5,6]

    Array.prototype.unique = function(){
        for(var i=0; i<this.length; i++){
            for(var j=i+1; j<this.length; j++){
                if(this[i] == this[j]){
                    this.splice(j, 1);
                    j--;
                }
            }
        }
        return this; //返回去重后的数组
    }
    console.log(arr3.unique());

</script>